﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SistemaVarejo.Model;
using System.Data.Entity;
using System.Data;

namespace SistemaVarejo.DAO
{
    class ClienteDAO
    {
        public static bool incluir(Cliente c){
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            try
            {
                db.Clientes.Add(c);
                db.SaveChanges();
                return true;
            }
            catch{
                return false;
            }
        }

        public static Cliente ConsultaNome(Cliente c) {
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            try {
                c = db.Clientes.FirstOrDefault(x => x.nome.Equals(c.nome));
                return c;
            }
            catch
            {
                return null;
            }
        }

        public static Cliente ConsultaCpf(Cliente c) {
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            try
            {
                c = db.Clientes.FirstOrDefault(x => x.cpf.Equals(c.cpf));
                return c;
            }
            catch {
                return null;
            }
        
        }

        public static List<Cliente> BuscaTodosOsClientes()
        {
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            List<Cliente> c = db.Clientes.ToList();
            return c;
        }

        public static List<Cliente> FiltraNome(Cliente cliente)
        {
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            List<Cliente> c = db.Clientes.Where(x => x.nome.Equals(cliente.nome)).ToList();
            return c;
        }

        public static List<Cliente> FiltraCpf(Cliente cliente)
        {
            VarejoEntities db = SingletonObjectContext.Instance.Context;
            List<Cliente> c = db.Clientes.Where(x => x.cpf.Equals(cliente.cpf)).ToList();
            return c;
        }
            
        





    }
}
